package br.com.pfc.application.controller.equipamentos;

import br.com.pfc.application.dao.LocalDAO;
import br.com.pfc.application.service.equipamentos.EquipamentoService;
import br.com.pfc.model.Equipamento;
import br.com.pfc.model.Local;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.FlushModeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

/**
 *
 * @author mucceli
 */
@Scope(ScopeType.CONVERSATION)
@Name("equipamentoCriarAction")
public class EquipamentoCriarController implements Serializable{

    @In
    EquipamentoService equipamentoService;
    @In
    LocalDAO localDAO;
    Equipamento equipamento = new Equipamento();
    List<Local> listaLocais;
    private Integer localSelecionado;
    private String paramTipoEquipamento;
    private String paramLocalEquipamento;
    private String paramModeloEquipamento;
    private String paramIdentificacaoEquipamento;
    private static final String NOVO = "novo_equipamento";


    @Begin(flushMode = FlushModeType.MANUAL, nested = true)
    public String setup() {
        listaLocais = equipamentoService.obterLocais();
        localSelecionado = null;
        return NOVO;

    }

    @End
    public String criar() {
        equipamento.setLocal(localDAO.obterPorId(localSelecionado));
        equipamento.setModelo(paramModeloEquipamento);
        equipamento.setTipo(paramTipoEquipamento);
        equipamento.setIdentificacao(paramIdentificacaoEquipamento);
        equipamentoService.salvar(equipamento);
        return "equipamentos";
    }

  
    /**
     * Getter's and Setter's
     */
    public Integer getLocalSelecionado() {
        return localSelecionado;
    }

    public void setLocalSelecionado(Integer localSelecionado) {
        this.localSelecionado = localSelecionado;
    }

    public List<Local> getListaLocais() {
        return listaLocais;
    }

    public void setListaLocais(List<Local> listaLocais) {
        this.listaLocais = listaLocais;
    }

    public Equipamento getEquipamento() {
        return equipamento;
    }

    public void setEquipamento(Equipamento equipamento) {
        this.equipamento = equipamento;
    }

    public String getParamLocalEquipamento() {
        return paramLocalEquipamento;
    }

    public void setParamLocalEquipamento(String paramLocalEquipamento) {
        this.paramLocalEquipamento = paramLocalEquipamento;
    }

    public String getParamIdentificacaoEquipamento() {
        return paramIdentificacaoEquipamento;
    }

    public void setParamIdentificacaoEquipamento(String paramIdentificacaoEquipamento) {
        this.paramIdentificacaoEquipamento = paramIdentificacaoEquipamento;
    }

    public String getParamModeloEquipamento() {
        return paramModeloEquipamento;
    }

    public void setParamModeloEquipamento(String paramModeloEquipamento) {
        this.paramModeloEquipamento = paramModeloEquipamento;
    }

    public String getParamTipoEquipamento() {
        return paramTipoEquipamento;
    }

    public void setParamTipoEquipamento(String paramTipoEquipamento) {
        this.paramTipoEquipamento = paramTipoEquipamento;
    }
}
